#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

struct node{
    ll p,a,b;
};


void solve(){
    int n;
    cin>>n;
    vector<node> p(n);
    ll sum=0,mxp=0;

    for(int i=0;i<n;i++){
        cin>>p[i].p>>p[i].a>>p[i].b;
        mxp=max(p[i].p,mxp);
        sum+=p[i].b;
    }

    int q;
    cin>>q;
    unordered_map<ll,ll> mp;
    while(q--){
        ll x,t;
        cin>>x;
        t=x;
        if(mp[x]!=0){
            cout<<mp[x]<<'\n';
            // cout<<1<<'\n';
            continue;
        }
        if(x-sum>mxp){
            cout<<x-sum<<'\n';
            continue;
        }
        for(int i=0;i<n;i++){
            // cout<<x<<'\n';
            if(p[i].p>=x)x+=p[i].a;
            else x=max(0LL,x-p[i].b);
        }
        mp[t]=x;
        cout<<x<<'\n';
    }
    
}

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    int t=1;
    // cin>>t:
    while(t--){
        solve();
    }

}